#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QMainWindow>
#include "ui_mainwindow.h"

class QAction;
class QCloseEvent;

class GLWidget;
class CurveProperties;
class DegreeDialog;
class RotationDialog;
class SplitDialog;

class MainWindow : public QMainWindow, public Ui::MainWindow
{
    Q_OBJECT

public:
    MainWindow( QWidget *parent = 0 );
    ~MainWindow( );

protected:
    void closeEvent( QCloseEvent * );
    void createConnections( );
    void createDialogs( );
    void createWidgets( );

private slots:
    void on_actionRotate_triggered( );
    void on_actionCurveReduceDegree_triggered( );
    void setSelectedCurvesUI( const CurveProperties& );

    void on_PickColorButton_clicked();

    void on_actionCurveSubdivide_triggered();

private:
    DegreeDialog *degreeDialog;
    RotationDialog *rotationDialog;

    GLWidget *glWidget;
};

#endif // MAINWINDOW_H
